// 导入数据库
const db = require('../db/index')
const fs = require('node:fs')

// 上传轮播图接口 files, data:{set_name:'swiper1'} =>
exports.uploadSwiper = (req, res) => {
    // 拿到前端传来的轮播图序号
    const { set_name } = req.body
    // 文件默认名字
    const oldName = req.files[0].filename
    // 文件名称
    const newName = Buffer.from(req.files[0].originalname, 'latin1').toString('utf8')
    // 在本地存储图片并修改名称
    fs.renameSync('./public/upload/' + oldName, './public/upload/' + newName)
    // 数据库中修改set_value值
    const sql1 = 'update setting set set_value = ? where set_name = ?'
    db.query(sql1, [`http://127.0.0.1:3007/upload/${newName}`, set_name], (err, results) => {
        if (err) return res.cc(err)
        res.send({
            status: 0,
            url: `http://127.0.0.1:3007/upload/${newName}`,
            set_name: set_name,
            message: '上传轮播图成功'
        })
    })
}

// 获取所有轮播图接口 无 =>
exports.getAllSwiper = (req, res) => {
    // like匹配swiper开头的数据
    const sql1 = "select * from setting where set_name like 'swiper%'"
    db.query(sql1, (err, results) => {
        if (err) return res.cc(err)
        let arr = []
        // 把获得的所有地址放到一个数组中
        results.forEach(item => {
            arr.push(item.set_value)
        });
        res.send(arr)
    })
}

// 获取公司单个信息接口 set_name =>
exports.getCompanyInfo = (req, res) => {
    const { set_name } = req.body
    const sql1 = "select set_text from setting where set_name = ?"
    db.query(sql1, set_name, (err, results) => {
        if (err) return res.cc(err)
        res.send(results[0].set_text)
    })
}

// 获取公司所有信息接口 无 =>
exports.getAllCompanyInfo = (req, res) => {
    const sql1 = "select * from setting where set_name like '公司%'"
    db.query(sql1, (err, results) => {
        if (err) return res.cc(err)
        res.send(results)
    })
}

// 修改公司信息接口 set_name set_text =>
exports.changeCompanyInfo = (req, res) => {
    const { set_name, set_text } = req.body
    const sql1 = 'update setting set set_text = ? where set_name = ?'
    db.query(sql1, [set_text, set_name], (err, results) => {
        if (err) return res.cc(err)
        res.send({
            status: 0,
            message: `编辑${set_name}成功`
        })
    })
}

// 其他设置：部门设置
// 部门设置 标签数组set_value =>
exports.setDepartment = (req, res) => {
    const { set_value } = req.body
    const sql1 = "update setting set set_value = ? where set_name = '部门设置'"
    db.query(sql1, set_value, (err, results) => {
        if (err) return res.cc(err)
        res.send({
            status: 0,
            message: '部门设置成功'
        })
    })
}
// 获取部门 无 =>
exports.getDepartment = (req, res) => {
    const sql1 = "select set_value from setting where set_name = '部门设置' "
    db.query(sql1, (err, results) => {
        if (err) return res.cc(err)
        res.send(results[0].set_value)
    })
}
// 产品类别设置 标签数组set_value =>
exports.setProduct = (req, res) => {
    const { set_value } = req.body
    const sql1 = "update setting set set_value = ? where set_name = '产品设置'"
    db.query(sql1, set_value, (err, results) => {
        if (err) return res.cc(err)
        res.send({
            status: 0,
            message: '产品设置成功'
        })
    })
}
// 获取产品类 无 =>
exports.getProduct = (req, res) => {
    const sql1 = "select set_value from setting where set_name = '产品设置' "
    db.query(sql1, (err, results) => {
        if (err) return res.cc(err)
        res.send(results[0].set_value)
    })
}